const jwt = require('jsonwebtoken');

const key = "1208zuiniubi"; //密钥

// 生成token方法
// 参数1：用户信息
// 参数2：签名
// 参数3：有效期 - 有效期（3s） 60*60 = 1h - 60*60*24（一天）= 1d 
const token = jwt.sign({userId: '123',username:"老王"}, key, {expiresIn: 3})

console.log(token);

// eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiIxMjMiLCJ1c2VybmFtZSI6IuiAgeeOiyIsImlhdCI6MTY3OTI5NzE0NSwiZXhwIjoxNjc5Mjk3MTQ4fQ.78TxKnuh-B7sT8iwNJsxzX-miRhiZP8uv2gsRf3kmgA

// 验证并读取token的值
// 参数1：token值
// 参数2：声明token时的签名字符串
// 参数3：回调函数
    // 参数1：
setTimeout(() => {
    jwt.verify(token,key,(error,decoded)=>{
        if(error){
            // TokenExpiredError
            if(error.name === 'TokenExpiredError'){
                console.log("抱歉，token过期了，请重新生成");
            }else{
                //JsonWebTokenError
                console.log(error.name);
            }
        }else{
            console.log(decoded.username);
        }
    })    
}, 4000);
